V0.11.1/regression fix - #45
Conversation
Introduces a patch release documenting strengthened git-remote-release capabilities: structured release-note opening format, curated release-highlight bullets, em dash prohibition, and deterministic verification. Enhanced Python collector validation gates check format compliance and reject malformed openings, missing bullets, unsupported punctuation patterns, and incomplete contributor attribution.
Reorganizes SKILL.md with a dedicated Non-Negotiable Rules section listing the structured opening contract, curated release-highlight bullets, and em dash prohibition. Enhances the Output Format section documenting the opening paragraph and bullet structure requirements. Adds a dedicated Em Dash Prohibition section clarifying the format constraint. Expands Data Collection Strategy with guidance on bundled collector, GitHub MCP tools, and gh CLI. Updates evals.json with enhanced expectations for the opening paragraph and bullet structure, and adds eval case #10 testing the rejection of bold-leading prose paragraphs and format violations.
Adds verify_summary() function to collect-release-evidence.py that enforces the structured release-note format contract: requires opening with 'This release ', rejects bold-leading prose paragraphs, validates release-highlight bullets with natural prose following bold lead-ins, enforces comma separation between non-final bullets and periods on final bullets, and prohibits em dashes. Expands test-release-evidence.py with comprehensive coverage including test_summary_structure_rejects_bold_paragraph_regression() for format regression detection and test_summary_structure_requires_bullets_and_natural_bold_leads() for bullet structure validation. Updates draft() helper to reflect required format structure.
Updates the git-remote-release skill description in the Available Skills table to emphasize the structured release-note format: opening summary line begins with 'This release ', followed by curated dash bullets with bold lead-ins and natural prose, with optional GitHub alert blocks and verified Sources entries. Updates the skill's feature list to highlight the release-story structure requiring the 'This release ...' opening and dash-bullet format, and strengthens the strict format constraint to clarify em dash prohibition in authored release-note prose. Clarifies that draft verification rejects malformed openings, missing highlight bullets, format violations, and incomplete contributor attribution.
|
Tighten validation rules to reject punctuation-only bullets, enforce em-dash prohibition in authored prose while preserving source titles, restrict GitHub alert blocks to supported markers only, and add comprehensive test coverage for these stricter requirements. Scope em-dash check to authored lines only, allowing exact source titles to preserve their original formatting.
Clarify release-note validation rules in README skill descriptions: em-dash prohibition applies to authored prose only, GitHub alert blocks must use only supported markers, and release-highlight bullets require explanatory prose after bold lead-ins. Align documentation with implementation improvements.
Update repository policy (AGENTS.md) and user-facing documentation (README.md) to clarify that same-request yolo/auto in git-remote-pr skips the approval wait but still shows the preview as status only.
Update skill instructions (SKILL.md) and corresponding eval cases (evals.json) to reflect clarified yolo/auto behavior: preview is shown as status only, no approval phrase is required or awaited.
|
|
||
| opening_index = content_positions[0] | ||
| opening = section[opening_index] | ||
| if not opening.startswith("This release "): |
There was a problem hiding this comment.
Empty opening passes verification An opening line containing only
This release passes the prefix check when valid highlight bullets follow it. The verifier can therefore certify notes with no release-level summary, despite the required opening-paragraph format.
Prompt To Fix With AI
This is a comment left during a code review.
Path: skills/git-remote-release/scripts/collect-release-evidence.py
Line: 65
Comment:
**Empty opening passes verification** An opening line containing only `This release ` passes the prefix check when valid highlight bullets follow it. The verifier can therefore certify notes with no release-level summary, despite the required opening-paragraph format.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.| return false; | ||
| } | ||
|
|
||
| using var json = JsonDocument.Parse(File.ReadAllText(path), new JsonDocumentOptions |
There was a problem hiding this comment.
Malformed configuration gets generic error If
global.json contains malformed JSON, this new read throws before the container runs. Both plan and run then report an “Unhandled error” as a result-processing failure instead of letting the SDK report the configuration problem, making the cause harder to identify.
Prompt To Fix With AI
This is a comment left during a code review.
Path: skills/dotnet-remote-testing/scripts/remote-test.cs
Line: 1372
Comment:
**Malformed configuration gets generic error** If `global.json` contains malformed JSON, this new read throws before the container runs. Both `plan` and `run` then report an “Unhandled error” as a result-processing failure instead of letting the SDK report the configuration problem, making the cause harder to identify.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.| } | ||
| if ($doThisNow -gt 100) { | ||
| # A decorative hero between the title and the imperative is not an intake or workflow section. | ||
| $opening = [regex]::Replace($body.Substring(0, $doThisNow), '(?m)^!\[[^\r\n]*\]\([^\r\n]*\)\r?\n', '') |
There was a problem hiding this comment.
All images bypass opening limit The new regex removes every Markdown image line before measuring how far
## Do this now appears into the skill body, not just the decorative hero. A substantial diagram or screenshot could therefore come before the imperative without failing the guard, weakening the check that the default action is read first.
Prompt To Fix With AI
This is a comment left during a code review.
Path: skills/dotnet-remote-testing/scripts/validate-skill.ps1
Line: 72
Comment:
**All images bypass opening limit** The new regex removes every Markdown image line before measuring how far `## Do this now` appears into the skill body, not just the decorative hero. A substantial diagram or screenshot could therefore come before the imperative without failing the guard, weakening the check that the default action is read first.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.|
|
||
| namespace Mtp.Tests; | ||
|
|
||
| public class PlatformTests |
There was a problem hiding this comment.
Test class omits required base The new
PlatformTests fixture has no base class. The repository requires test classes to inherit from the appropriate Codebelt.Extensions.Xunit base class. Please satisfy that requirement before merging.
Context Used: skills/dotnet-new-lib-slnx/assets/shared/AGENTS.md (source)
Prompt To Fix With AI
This is a comment left during a code review.
Path: skills/dotnet-remote-testing/evals/files/mtp-xunit/test/Mtp.Tests/PlatformTests.cs
Line: 6
Comment:
**Test class omits required base** The new `PlatformTests` fixture has no base class. The repository requires test classes to inherit from the appropriate `Codebelt.Extensions.Xunit` base class. Please satisfy that requirement before merging.
**Context Used:** skills/dotnet-new-lib-slnx/assets/shared/AGENTS.md ([source](https://github.com/codebeltnet/agentic/blob/main/skills/dotnet-new-lib-slnx/assets/shared/AGENTS.md))
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
This pull request strengthens the git-remote-release skill with comprehensive release-note format validation. Introduces Python validation that enforces the structured opening contract, curated bullet format, and em dash prohibition. Adds regression tests and expands documentation to ensure consistent high-quality release notes.
Format validation:
Release documentation:
Skill specification:
Skill documentation:
Test coverage: